home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / btst240l.lzh / READ240F.ST < prev    next >
Text File  |  1990-10-08  |  10KB  |  215 lines

  1. Changes to 2.40f - 6th October 1990
  2. -----------------------------------
  3.  
  4. 1. Shell command does not convert the command to upper case any more.  If 
  5.    you want to change directory first then assuming you've got a good shell 
  6.    installed such as craft, gulam or MSH then do something like:
  7.        Shell 1 cd c:\mydir; myprog
  8.    Or even better get it to call a batch file which changes the directory.  
  9.    If you are using Pcommand then tough luck.
  10.  
  11. 2. Screen blanking works properly.  It sets color 0 to Black and clears the 
  12.    screen.  This should work in all resolutions.
  13.  
  14. 3. Fixed problem with NoFullScreen bombing.  Note that this error like many 
  15.    of the others is also present in the PC version (though the PC doesn't 
  16.    bomb with such error it just corrupts random memory!)
  17.  
  18. 4. An additional configuration line has been added:
  19.       NoLineA
  20.    If this is present in BINKLEY.CFG then colours are set using the VT52 
  21.    commands rather than the linea variables.  This is slightly slower, but 
  22.    should help it work better with software blitters such as Turbo-ST or 
  23.    QuickST.  The VT52 colour setting routine has been speeded up by only 
  24.    sending the commands if the colour is different to the previous colours 
  25.    used.
  26.  
  27.    The linea variables are still used to find the cursor position and to 
  28.    get information about the screen mode and size.  The only alternative to 
  29.    this that I can think of is to use the GEM VDI routines, which would 
  30.    mean the program would have to be a PRG instead of a TTP, though I 
  31.    can't see why that should cause any problems with anyone unless they 
  32.    wanted to stick BT in their auto folder.
  33.  
  34.    Colours are restored when exitting and displaying Help screens, etc.  
  35.    When NoLineA is enabled then it just sets the colours to 0 and 15.  
  36.    Without this the colours in use when BT was started up are used.  
  37.    Previously you got whatever colours the last screen update happened to 
  38.    have used.
  39.  
  40. 5. Clear the keyboard buffer before all exits.  Previously it only did this 
  41.    when exitting with Control-X.
  42.  
  43. 6. Tried to fix the timing problems.  The basic problem is that when 
  44.    sending characters to the RS232 port with TOS 1.4 or higher or using 
  45.    TurboCTS, then the 200Hz interrupt seems to have great difficulty 
  46.    getting through.  I tried lots of things out such as revectoring and 
  47.    lowering interrupt level, but nothing really worked. Any suggestions are 
  48.    more than welcome.    
  49.  
  50.    As a compromise solution I have added the option to allow the clock to 
  51.    be updated from the IKBD clock occasionally as suggested by Jon Webb.  
  52.    To enable this option add the line:
  53.      IKBDclock
  54.    into Binkley.Cfg.  This is called quite often and if the IKBD clock and 
  55.    GEMDOS clock differ by more than +/- 2 seconds then the GEMDOS clock is 
  56.    updated.  This may cause problems with TOS 1.4 and higher, because 
  57.    GEMDOS also updates the IKBD clock, so your clock could gradually lose 
  58.    time.
  59.  
  60. 7. Fixed problem with log file [Alt-L] not working properly in terminal mode.
  61.  
  62. 8. Changed Janus so that it skips the Transmit section until the output 
  63.    buffer has been sent.  This should give the receiver a bit more chance 
  64.    to catch up, and should stop the locking problem when both ends are 
  65.    sending and flow control breaks in.  This is now an option selectable by 
  66.    the "SlowJanus" configuiration line... see point 12.
  67.  
  68. 9. RTS/CTS flow control is now optional.  By default it is enabled but it 
  69.    can be disabled using the configuration line:
  70.      NoCTS
  71.    in BINKLEY.CFG.
  72.    
  73. 10. Disabled the 38400 baudrate option, which wasn't implemented anyway.  
  74.     It may be possible in future versions to implement this baud rate by 
  75.     changing timer divide rates and things, but the ST seems to struggle 
  76.     enough at 19200.
  77.  
  78. 11. The baud rate can now be locked at the lowest level "fossil" routine 
  79.     using:
  80.        STlockBaud <value>
  81.     Usage is the same as documented for the "lockbaud" statement, i.e. if 
  82.     the baud rate is above <value> then the baud rate will be locked to 
  83.     the maximum rate as selected with the "baud" statement.  Otherwise it 
  84.     will use the CONNECT rate.
  85.     
  86.     If <value> is omitted or it is 0, then baudrate locking is enabled at 
  87.     all speeds.
  88.     
  89.     The advantage of using this is that the errorlevel and the value 
  90.     written into BBSBATCH.BAT or SPAWNBBS.BAT will be the rate reported 
  91.     from the CONNECT message rather than actual DTE rate.
  92.  
  93.     A problem is that in terminal mode the baudrate is still locked!
  94.  
  95. 12. A lot of fiddling with Janus and RS232 buffered output routines.  I did 
  96.     find a major problem which caused it to lock up sometimes and it does 
  97.     seem to work better now.  However there is a fundamental flaw in the 
  98.     ST's RS232 routines whereby characters seem to get lost when it is 
  99.     simultaneously sending and receiving.  The loss is greater at higher 
  100.     baud rates.  This still saves you time though since even if each side 
  101.     goes down to 50% efficiency you are still gaining overall.  I believe 
  102.     the root cause is that interrupt routines can affect the RS232 queue 
  103.     structures concurrently with the non-interrupt sections, and there are 
  104.     no interlock flags or anything.  The other problem at high baud rates 
  105.     is that RS232 interrupts are taking a lot of processor time and the ROM 
  106.     routines (and even CTSPatch) aren't particularly well optimised.  The 
  107.     best solution to this would be to write the equivalent of a "Fossil".
  108.     
  109.     I added another configuration option:
  110.       SlowJanus
  111.     which prevents Janus from transmitting packets until the Tx buffer is 
  112.     empty.  This slows down Janus a little bit without apearing to give any 
  113.     more reliability.  However using this the RTS/CTS handshaking doesn't 
  114.     come into play so often (if you have set the RS232 buffers wisely).  
  115.     See point 8.
  116.     
  117.     Regarding buffers, it is essential that the receive buffer is over 2059
  118.     bytes and there's no harm making it bigger or leaving it at its default 
  119.     of 8K.  Janus will never transmit a packet greater than 2K (+ headers 
  120.     and CRC checksums).  The transmit buffer can be whatever size you like, 
  121.     a small size makes it respond quicker to errors, but may slow things 
  122.     down.  The buffer sizes are set using the TBUF and RBUF environment 
  123.     variables.
  124.  
  125. 13. I Put a flag around the routines that set/restore the RS232 buffers.  
  126.     This should gurantee that buffers are always restored correctly upon 
  127.     exit from the program.
  128.  
  129.  
  130. Summary of new BINKLEY.CFG options
  131. ----------------------------------
  132.  
  133. NoCTS
  134.   Disables RTS/CTS flow control.  Note that Xon/Xoff is used in some places 
  135.   anyway.
  136. NoLineA
  137.   Disables the use of LineA variables for colour changing.  VT52 is used 
  138.   instead.  LineA variables are still used for finding the cursor location 
  139.   and to determine the screen size during initialisation.
  140. IKBDclock
  141.   Forces the time to be updated occasionally from the IKBD clock.
  142. STLockBaud <rate>
  143.   Locks the baudrate to your maximum baud rate as defined with "baud" 
  144.   whenever trying to change to a baudrate greater than <rate>.  If the 
  145.   rate parameter is omitted then the DTE speed will always be your maximum 
  146.   baud rate.  This differs from the "lockbaud" statement in that 
  147.   BinkleyTerm itself knows nothing about the DTE speed and operates using 
  148.   the CONNECT message's speed instead.
  149. SlowJanus
  150.   This is really a debug option.  It stops Janus from transmitting a new 
  151.   packet until the Transmit buffer is completely empty.  This doesn't 
  152.   really help a lot other than slowing things down a little.  However feel 
  153.   free to try it out if you are having Janus problems.
  154.  
  155.  
  156.  
  157. I've left the symbol table on this, so anyone using MONST2 or some other 
  158. debugger can perhaps find information about where it crashes, etc.
  159.  
  160.  
  161. Known problems
  162. --------------
  163.  
  164.   The ST's RS232 routines just can not handle simultaneous transmit and 
  165.   receive properly.  The problem gets worse at higher baud rates.
  166.   
  167.   HST mode